package com.pine.dbant.core.service;

import com.pine.dbant.common.plugin.Plugin;
import com.pine.dbant.common.plugin.PluginMeta;
import com.pine.dbant.common.plugin.PluginType;

import java.util.List;

/**
 * @author xiaoyuan
 * @create 2022/11/30
 **/
public interface PluginService {

    /**
     * 获取某个插件对象
     *
     * @param name
     * @return
     */
    Plugin getPlugin(String name);

    /**
     * 获取某个插件信息
     *
     * @param name
     * @return
     */
    PluginMeta getPluginMeta(String name);

    /**
     * 获取某个类型的插件信息
     *
     * @param pluginType
     * @return
     */
    List<PluginMeta> getPlugins(PluginType pluginType);
}
